处理用户输入
您可以设置应用程序中的哪些节点与键盘输入交互以及如何交互。在 Kanzi Studio 中,您可以通过以下方式处理键盘输入:
设置应用程序以从键盘接收输入
您可以使用 键按下 (Key Down) 和 键释放 (Key Up) 触发器让您的应用程序接收来自计算机键盘的输入。使用动作定义当用户按下或释放键盘键时应用程序如何作出反应。例如,您可以使用左右箭头键在应用程序的 页面 (Page) 节点之间导航。请参阅 教程:使用键盘输入来导航应用程序 和 焦点。
要查看键盘键代码完整列表,请参阅 键盘输入代码参考。
要设置应用程序从键盘键接收输入:
- 选择屏幕 (Screen) 节点并在节点组件 (Node Components) > 触发器 (Triggers) 部分添加键按下 (Key Down) 触发器。
您使用键按下 (Key Down) 触发器设置应用程序在用户按下该键时接收输入。
本示例中,您使用键盘上的箭头键在导航栏上创建页面 (Page) 节点之间的导航,导航栏包含每个页面的切换按钮。
- 在节点组件 (Node Components) > 触发器 (Triggers) 部分中,为您在上一步中添加的触发器点击 的下拉菜单,然后选择动作。
例如,选择导航至下一个 (Navigate to Next) 动作,并将项 (Item) 设置为您要导航至下一个子页面的主页面 (Page Host) 节点。
您设置应用程序,当用户按下该键时转到主页面 (Page Host) 节点下的下一个子页面。
- 要将应用程序设置为接收来自键盘上特定键的输入,在您在第一步创建的触发器 节点组件 (Node Components) > 触发器 (Triggers) 部分中点击 触发器设置 (Trigger Settings) 以打开 触发器设置编辑器 (Trigger Settings Editor)。
在触发器设置编辑器 (Trigger Settings Editor) 中点击添加条件 (Add condition) 可添加条件到该触发器,并在触发器条件编辑器 (Trigger Condition Editor) 中设置您要用于该触发器的条件。请参阅 使用消息中的值创建条件。
例如,对于键按下 (Key Down) 触发器,设置:- 值 A (Value A)
- 起始值 (Value From) 为消息 (Message)
- 运算符 (Operator) 为=
- 值 B (Value B)
- 起始值 (Value From) 为固定 (Fixed)
- 固定值 (Fixed Value) 为 64
您设置右箭头键触发在触发器中定义的动作。
- 要设置应用程序接收另一个键的输入,在键按下 (Key Down) 触发器中为键按下 (Key Down) 添加新触发器,并添加您希望在用户按下该键时执行的动作。
例如,添加导航至上一个 (Navigate to Previous) 动作,并将项 (Item) 设置为您要导航至上一个子页面的主页面 (Page Host) 节点。
- 重复第 3 步,以设置触发器条件,但在触发器条件编辑器 (Trigger Condition Editor) 中设置您要应用程序接收输入的键。
例如,将固定值 (Fixed Value) 设置为 63,让左箭头键触发在触发器中设置的动作。
在应用程序中,当您按下键盘上的左右箭头键,应用程序在您设置导航至下一个 (Navigate to Next) 和导航至上一个 (Navigate to Previous) 动作指向的主页面 (Page Host) 节点的子页面之间导航。
定义哪些按钮 (Button) 和切换按钮 (Toggle Button) 节点接收按键输入
当按钮 (Button) 和切换按钮 (Toggle Button) 节点有焦点时,它们默认从数字键盘上的键盘按键、Space、Enter 和 Enter 接收输入。当您在切换按钮组 (Toggle Button Group) 节点中创建切换按钮 (Toggle Button) 节点时,使用脚本中的 trySetFocus()
函数设置哪个切换按钮 (Toggle Button) 节点接收键盘输入。
对于2D 按钮 (Button 2D) 和3D 按钮 (Button 3D) 节点,您可以通过按钮: 点击 (Button:Click) 触发器使用键盘输入。对于2D 切换按钮 (Toggle button 2D) 和3D 切换按钮 (Toggle button 3D) 节点,您可以通过切换按钮: 打开 (Toggle Button: Toggled On) 和切换按钮: 关闭 (Toggle Button: Toggled Off) 触发器使用键盘输入。
要让按钮 (Button) 或切换按钮 (Toggle Button) 节点接收键盘输入:
- 在工程 (Project) 中选择要设置焦点的按钮 (Button) 或切换按钮 (Toggle Button) 节点。
您需要有包含带动作触发器的工作按钮,以设置当按钮接收输入时要执行的动作。请参阅 使用按钮 (Button) 节点。
例如,2D 按钮 (Button 2D) 节点需要有带动作的按钮: 点击 (Button:Click) 触发器。
- 在节点组件 (Node Components) > 触发器 (Triggers) 部分,添加触发器,用于执行对按钮节点设置焦点的脚本。例如,使用附加时 (On Attached) 触发器。请参阅 使用触发器。
附加时 (On Attached) 触发器在 Kanzi 附加节点时触发。
- 在附加时 (On Attached) 触发器中,添加执行脚本 (Execute Script) 动作。
- 在执行脚本 (Execute Script) 窗口中,选择+ 创建脚本 (+ Create Script),在脚本编辑器 (Script Editor) 中输入为按钮设置焦点的脚本。
焦点默认设为应用程序中的屏幕 (Screen)。使用脚本中的 trySetFocus()
函数在工程中的节点设置焦点。请参阅 脚本参考 和 使用脚本。
例如,要将焦点设置到执行脚本的节点,在脚本编辑器 (Script Editor) 中输入
node.trySetFocus();
当按下数字键盘上的 Space、Enter 或 Enter,按钮: 点击 (Button:Click) 触发器会触发。
另请参阅
教程:使用键盘输入来导航应用程序
键盘输入代码参考
处理用户输入
焦点
使用输入操纵器
触发器
使用按钮 (Button) 节点
使用脚本
打开导航